home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FishMarket 1.0
/
FishMarket v1.0.iso
/
fishies
/
426-450
/
disk_429
/
uedit-stuff
/
u.doc
< prev
next >
Wrap
Text File
|
1992-05-06
|
4KB
|
69 lines
U is an Execute script which will load some files (up to five) into Uedit,
optionally marking them all read-only, optionally setting Uedit's current
directory to that where this command is given, starting Uedit if
necessary. It works by calling the ARexx program called Ue-load.rexx,
which should be in your REXX: directory. Or you can put it into ramdisk,
and change the last line of the U script to call ram:Ue-load instead of
rexx:Ue-load, if you want faster response. Personally I put REXX: in
ramdisk to start with. The actual contents of the script U are:
.key <*/s,r/s,c/s,aaaa,bbbb,cccc,dddd,eeee
.bra {
.ket }
rx rexx:Ue-load {r}{c}/: {aaaa} /: {bbbb} /: {cccc} /: {dddd} /: {eeee} /::
The rexx program Ue-load expects certain commands to be set up in Uedit's
REXXCOMM file. One, of course, is LOADFILE. Three more are CHANGEDIR,
READONLY, and optionally FRONTSCREEN. To add them, put this in REXXCOMM:
changedir 1042+0 |
readonly 396+0 |
frontscreen 1041+0 |
making sure that the number after readonly really is correct for setting
the current buffer read only in your config; 396 is shftAlt-f5. (I use
ctl-r, macronum 435.) Also add these two commands to your Config!R:
Rexx: change Uedit's current directory
<virtual-2: changedir(buf61) >
Send Uedit's screen to the front
<virtual-1: execute(" ", "EndIf") >
That's kind of a kludge but it works okay. (I wonder when Uedit will have
a frontScreen function?) NOTE: For virtual-1 to work at all efficiently,
you must make C:Run resident and be using SetPatch from AmigaDOS 1.3.2, or
AmigaDOS 2.0 I suppose. Otherwise it will load the Run program from disk
every time you call it. You should do so anyway, because otherwise ANY
program that uses the AmigaDOS Execute() function to run other programs
will be very inefficient. Also you should either make C:EndIf resident
and use AmigaShell (resident CLI L:Shell-Seg system), or copy the EndIf
program into ramdisk and change the command in the execute function above
to "ram:EndIf". Or you could call it "ram:DoNothing" or something because
the endif program literally does nothing at all. Otherwise it will load
C:Endif from disk. With everything resident virtual-1 will run in about a
tenth of a second, moving Uedit's screen to the back and then back to the
front. REMEMBER, EVEN IF YOU NEVER MAKE ANYTHING ELSE RESIDENT, DO make
C:Run resident, and use SetPatch 1.3.2, not any earlier version.
You need one more thing for U to work: RunBack. The rexx script starts
Uedit by executing the command 'RunBack UE'. You should change the
pathname from UE to wherever you keep your Uedit executable. If you do
not have a RunBack program, I've written a very small one with no extra
features which is "pure" and only 488 bytes long. It only works if you
mount the NULL: device, though. It should be included with this, along
with the Null-Handler and its MountList entry. NOTE that "Run >nil: <nil:
UE" is not a good substitute for RunBack. The CLI window will be unable
to close until Uedit quits.
That may seem like a lot of stuff to set up in your startup-sequence just
to get one little script to work ... Mount NULL:, Resident C:RunBack
(optional), Resident C:Run, SetPatch, Resident CLI L:Shell-Seg SYSTEM
(optional), Resident C:EndIf (optional), or Copy C:EndIf to RAM:DoNothing
(instead of the previous two), Copy rexx:Ue-load.rexx to RAM: (optional),
Copy S:U to RAM: (optional), Path RAM: ADD (optional), and of course
RexxMast ... but in my opinion there's not one step of that which is not
worth doing for its own sake anyway. In my case I had done every one of
those already, except putting the U script in ram:.